【レポート】AWSのObservability(可観測性)の全体像〜Amazon CloudWatchとオープンソースの活用〜 AWS-21 #AWSSummit
2022年5月25日(水)~2022年5月26日(木)開催のAWS Summit Online 2022に参加しています。
今回はオンラインセッション AWS-21『AWSのObservability(可観測性)の全体像〜Amazon CloudWatchとオープンソースの活用〜』についてレポートします。
セッション概要
システムのモダナイゼーションが進み、マイクロサービスやマルチアカウントといった、従来になかったシステム構成の運用に取り組まれるお客様が増えてきました。
本セッションでは、AWSにおける最新の Observability(可観測性)を実現するアーキテクチャの全体像をご紹介します。
Amazon CloudWatch だけでなく、オープンソースソフトウェア、SaaS、そして運用にインテリジェンスをもたらす機械学習サービスなど、Observability 実現の選択肢についてご紹介いたします。
スピーカー
AWS 技術統括本部 ソリューションアーキテクト
津和﨑 美希 氏
資料についてはこちらからダウンロードできます。
※AWS Summit Online 2022の無料登録が必要です。
セッションのゴール
AWSにおける可観測性/Observabilityの考え方と選択肢をご紹介し、 環境別のデザインパターンを理解できること
レポート
AWSにおける可観測性(Observability)
Observabilityとは
システムの動作状況を把握し、システム運用において判断に必要な情報がきちんと取得できている状態
データに基づく意思決定としてはログ・メトリクス・トレースの機能を利用する
AWSにおけるObservabilityの全体像
AWSでObservabilityの全体像を見るとAmazon CloudWatchとオープンソース活用の2種類に分かれる
- Amazon CloudWatch
- CloudWatch metrics,CloudWatch Logs,CloudWatch ServiceLens等
- オープンソース活用
- Amazon Managed Grafana,Amazon Managed Service for Prometheus等
Amazon CloudWatchについて
re:Invent 2021以前では下記パターン等が主流でした。
- CW Agentをオンプレミス/EC2にインストールし、メトリクスをCW Metricsに送信、メトリクスに応じてCW Alarmsでアクション実行する
- CW Agentをオンプレミス/EC2にインストールし、ログをCW Logsに送信、CW Logs Insightsでログ分析を行う
- CW SyntheticsでSynthetic Monitoring(合成監視)を行う(合成監視とはエンドユーザーの動作をシミュレートしてパフォーマンスデータを能動的に取得する手法)
Observabilityについては各役割ごとに活用例が異なります。
Business Ownerの場合
KPIの指標を取りたい状況が多い為、CW Dashboardsで必要な情報を確認できるDashboardを作成します。
CW Dashboardはクロスアカウント・クロスリージョンに対応しています。
カスタムメトリクスから必要な情報を取得し可視化することができます。
Amazon CloudWatch を使用したクロスアカウントクロスリージョンダッシュボード
Cross-account cross-Region CloudWatch console
Developerの場合
Developerの場合はマイクロサービス間のトラブルシュートを行いたいケースがあります。
AWS x-Rayを利用しコンポーネント間の遅延・エラーの状況などを可視化して分析することができます。
CW ServiceLensをx-Rayと連携することでCW Alarmからの根本原因を診断したりすることも可能です。
Amazon CloudWatch ServiceLens を使用して高度に分散化されたアプリケーションを視覚化して監視する
Infra/DevOps Engineerの場合
Infra/DevOps Engineerの場合はネットワークのアクセス状況を確認したいニーズ等があります。
CW Logs Insightsを利用することで、例えばUDP接続に絞って、そこからSource IPごとのアクセス数をCount時系列のグラフで表示することができます。
re:Invent 2021のCloudWatchの最新サービス発表
re:Invent 2021以降では新しいサービスが複数発表されています。
Amazon CloudWatch RUM(Real-User Monitoring)
Amazon CloudWatch RUMでは、リアルタイムユーザーのパフォーマンスをモニタリングし、ブラウザやロケーション、ネットワークの接続性等の問題を検知することができる機能です。
Amazon CloudWatch Evidently
Amazon CloudWatch EvidentlyはA/Bテスト等でどちらの選択肢が望ましいかを検証する差異に、ユーザーの挙動をモニタリングできるサービスです。
Amazon CloudWatch RUMと統合されており、RUMのメトリクスも利用可能です。
Amazon CloudWatch Agentの新機能
よくあるお悩みで、CWにログ集約したいがログ出力の料金が心配という声がありました。
解決策として、新機能が発表され、Amazon CloudWatch Agentのログフィルタ式のサポートで、指定した条件を満たすログイベントのみを収集可能になります。
オープンソース・SaaSも含めた可観測性(Observability)
オープンソースを利用しているユーザーからの管理を一元化したいといった声もあり、オープンソース活用のためのサービスも揃えています。
AWS Distro for OpenTelemetry
AWSによりサポートされるOpenTelemetryのオープンソースディストリビューションです。
OpenTelemetryとはCNCF管理のプロジェクトであり、データ(ログ/メトリクス/トレース)のAPI標準仕様の策定を行っています。
AWS Distro for OpenTelemetryを利用することで相関するメトリクスとトレースをAWSサービスに送信することができます。
Amazon Managed Service for Prometheus
Kubanetesの連携等で聞く、コンテナ環境向けに特化したモニタリングとアラーティングのマネージドサービスです。
Prometheusクエリ言語(PromQL)を利用して、 AWSまたはオンプレのコンテナワークロードを監視することができます。
サービス検出・メトリック収集に前段であげたAWS Distro for OpenTelemetry が利用可能です。
Amazon Managed Grafana(AMG)
Grafana Labsと連携して開発されたフルマネージドなデータ可視化サービスです。
複数のデータソースからのメトリックやログを視覚化できるのと、Grafanaサーバの構築等はAWSが実施する為サーバ管理の手間をオフロードすることができます。
DevOps全体に及ぶ可観測性とAI活用
最後に、DevOpsはまだまだチャレンジの領域であり、その中でどのように監視をしていくかで機械学習サービスが取り上げられました。
CodeGuru Reviewer Secrets Detector
ソースコードや設定ファイルにアクセスキー等の機密情報の埋め込みがないかを検知する機能です。
Amazon DevOps Guru for RDS
機械学習を用いてRDSに関する性能問題や解決策をドキュメントを引っ張って開示する機能です。
Amazon CloudWatch anomaly detection
機械学習を用いて過去のメトリクスから期待値モデルを作成し、予測可能なパターンを表示する機能です。
Next Action
今回は監視サービスについて色々学びましたが、ネクストアクションとしてOne Observability Workshopの紹介がありました。
One Observability workshopではAmazon CloudWatchをはじめとした、今まで紹介したサービスの機能を体感できるワークショップとのことです。
感想
監視サービスについて色々ありますが、各サービスの内容ごとにわかりやすく纏っており、かつ最新の機能まで学べる内容でした。
私自身キャッチアップしきれてない情報があったので、30分で監視サービスの概要を学べるいいセッションだと感じました。
また最後に紹介されたワークショップはやったことなかったのでやってみよう!と思えるセッションでした。ぜひワークショップをやってない方がいましたら活用してみてください。
ではまた!コンサルティング部の洲崎でした。